package com.power.sifa.correction.service;

import com.power.sifa.correction.model.Cre_warning_detail;
import com.power.sifa.correction.model.pageInfo.Cre_warning_detailPageInfo;
import com.power.sifa.statistics.model.vo.NightRuleVO;
import org.springframework.data.domain.Page;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 预警信息违规详情业务层
 */
public interface Cre_warning_detailService {

    /**
     * 根据id获取预警信息违规详情对象
     */
    Cre_warning_detail getById(Serializable id);

    /**
     * 根据传入预警信息违规详情对象进行新增或更新操作
     */
    void saveOrUpdate(Cre_warning_detail cre_warning_detail);

    /**
     * 根据id删除预警信息违规详情
     */
    void removeById(Serializable id);

    /**
     * 根据传入条件查询预警信息违规详情分页结果
     */
    Page<Cre_warning_detail> findAll(Cre_warning_detailPageInfo pageInfo);

    /**
     * 查询全部预警信息违规详情
     */
    List<Cre_warning_detail> findAll();

    /**
     * 根据id批量删除预警信息违规详情
     */
    void removeByIds(List<Integer> list);

    /**
     * 批量保存预警信息违规详情
     */
    void saveAll(List<Cre_warning_detail> list);

    /**
     * 根据预警信息id查询预警详情
     */
    List<Cre_warning_detail> findByWarningId(String warningId);

    /**
     * 根据预警id查询明细
     *
     * @param warnid
     * @return
     */
    List<Map<String, Object>> queryListByWarnid(String warnid);

    NightRuleVO getNightRuleVO(int nightout, Integer gaid);
}
